package com.ethink.warehouse.api.enums;

import com.ethink.framework.common.constant.ColumnEnum;


/**
 * 枚举 入库单类型
 *
 * @author default
 * @date 2022-09-26
 */
public enum InStockTypeEnum implements ColumnEnum {

    /**
     * 生产入库
     */
    PRODUCE(1, "生产入库"),

    /**
     * 采购入库(备货入库)
     */
    PURCHASE(2, "采购入库"),

    /**
     * 调拨入库 (逆向入库)
     */
    TRANSFER(3, "调拨入库"),

    /**
     * 其他入库
     */
    OTHER(4, "其他入库"),

    /**
     * B2B入库
     */
    B2B(5, "B2B入库"),

    /**
     * 领用入库
     */
    LYRK(6, "领用入库"),

    /**
     * 残次品入库
     */
    CCRK(7, "残次品入库"),

    /**
     * 残次品入库
     */
    XNRK(8, "虚拟入库"),

    ;

    /**
     * 枚举int值
     */
    private Integer intValue;

    /**
     * 枚举名称
     */
    private String name;

    /**
     * 构造方法
     *
     * @param intValue
     * @param name
     */
    InStockTypeEnum(Integer intValue, String name) {
        this.intValue = intValue;
        this.name = name;
    }

    /**
     * 枚举int值
     *
     * @return
     */
    @Override
    public Integer getIntValue() {
        return intValue;
    }

    /**
     * 枚举名称
     *
     * @return
     */
    @Override
    public String getName() {
        return name;
    }

    /**
     * 枚举int值获取枚举
     *
     * @param intValue
     * @return
     */
    public static InStockTypeEnum valueOf(Integer intValue) {
        for (InStockTypeEnum value : InStockTypeEnum.values()) {
            if (value.getIntValue().equals(intValue)) {
                return value;
            }
        }
        return null;
    }
}
